import request from '@/utils/request';
import { parseStrEmpty } from '@/utils/ruoyi';

// 查询用户列表
export const listUser = (query: any) => {
    return request({
        url: '/system/user/list',
        method: 'get',
        params: query
    });
}

// 查询用户详细
export const getUser = (userId: any) => {
    return request({
        url: `/system/user/${parseStrEmpty(userId)}`,
        method: 'get'
    });
}

// 新增用户
export const addUser = (data: any) => {
    return request({
        url: '/system/user',
        method: 'post',
        data: data
    });
}

// 修改用户
export const updateUser = (data: any) => {
    return request({
        url: '/system/user',
        method: 'put',
        data: data
    });
}

// 删除用户
export const delUser = (userId: any) => {
    return request({
        url: `/system/user/${userId}`,
        method: 'delete'
    });
}

// 用户密码重置
export const resetUserPwd = (userId: any, password: any) => {
    const data = {
        userId,
        password
    };
    return request({
        url: '/system/user/resetPwd',
        method: 'put',
        data: data
    });
}

// 用户状态修改
export const changeUserStatus = (userId: any, status: any) => {
    const data = {
        userId,
        status
    };
    return request({
        url: '/system/user/changeStatus',
        method: 'put',
        data: data
    });
}

// 查询用户个人信息
export const getUserProfile = () => {
    return request({
        url: '/system/user/profile',
        method: 'get'
    });
}

// 修改用户个人信息
export const updateUserProfile = (data: any) => {
    return request({
        url: '/system/user/profile',
        method: 'put',
        data: data
    });
}

// 用户密码重置
export const updateUserPwd = (oldPassword: any, newPassword: any) => {
    const data = {
        oldPassword,
        newPassword
    };
    return request({
        url: '/system/user/profile/updatePwd',
        method: 'put',
        params: data
    });
}

// 用户头像上传（这里Content-Type自动判断有问题）
export const uploadAvatar = (data: any) => {
    return request({
        url: '/system/user/profile/avatar',
        method: 'post',
        data: data,
        headers: {
            'Content-Type': 'multipart/form-data'
        }
    });
}

// 查询授权角色
export const getAuthRole = (userId: any) => {
    return request({
        url: `/system/user/authRole/${userId}`,
        method: 'get'
    });
}

// 保存授权角色
export const updateAuthRole = (data: any) => {
    return request({
        url: '/system/user/authRole',
        method: 'put',
        params: data
    });
}

// 查询部门下拉树结构
export const deptTreeSelect = () => {
    return request({
        url: '/system/user/deptTree',
        method: 'get'
    });
}
